//-----------------------------------------------------------------------
// <copyright file="USERBase.cs" company="Pyramid Consulting">
//     Copyright (c) Pyramid Consulting. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
	
using System;
using System.Data;
using System.ComponentModel;
using System.Collections;

namespace MIMS.WRS.Entities
{
	[Serializable]
	public class USERBase
	{
		
		#region Variable Declarations
		private int				us_id_pk = 0;
		private string				name = string.Empty;
		private string				login_name = string.Empty;
		private string				password = string.Empty;
		private string				fullPassword = string.Empty;
		private string				email = string.Empty;
		private byte				user_type = 0;
		private string				customer_code = string.Empty;
		private string				bar_code = string.Empty;
		private bool				is_admin = false;
		private bool				is_enabled = false;
		private DateTime				created_date = new DateTime(1900,1,1,0,0,0,0);
		private int				created_by = 0;
		private DateTime				updated_date = new DateTime(1900,1,1,0,0,0,0);
		private int				updated_by = 0;
		private Guid				change_pwd_guid = Guid.Empty;
		private string				sort_reference1 = string.Empty;
		private string				sort_reference2 = string.Empty;
		private bool				downloadable_csv = false;
		private int				activeOfficeID = 0;
		private int				countryID = 0;
		private bool			viewSalesOrders = false;
		#endregion
		
		#region Constructors
		public USERBase() {}
		
		public USERBase (
			int us_id_pk,
			string name,
			string login_name,
			string password,
			string fullPassword,
			string email,
			byte user_type,
			string customer_code,
			string bar_code,
			bool is_admin,
			bool is_enabled,
			DateTime created_date,
			int created_by,
			DateTime updated_date,
			int updated_by,
			Guid change_pwd_guid,
			string sort_reference1,
			string sort_reference2,
			bool downloadable_csv,
			int activeOfficeID,
			int countryID,
			bool viewSalesOrders)
		
		{
			this.us_id_pk = us_id_pk;
			this.name = name;
			this.login_name = login_name;
			this.password = password;
			this.fullPassword = fullPassword;
			this.email = email;
			this.user_type = user_type;
			this.customer_code = customer_code;
			this.bar_code = bar_code;
			this.is_admin = is_admin;
			this.is_enabled = is_enabled;
			this.created_date = created_date;
			this.created_by = created_by;
			this.updated_date = updated_date;
			this.updated_by = updated_by;
			this.change_pwd_guid = change_pwd_guid;
			this.sort_reference1 = sort_reference1;
			this.sort_reference2 = sort_reference2;
			this.downloadable_csv = downloadable_csv;
			this.activeOfficeID = activeOfficeID;
			this.countryID = countryID;
			this.viewSalesOrders = viewSalesOrders;
		}
		#endregion
		
		#region Properties	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int US_ID_PK
		{
			get { return us_id_pk; }
			set { us_id_pk = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string NAME
		{
			get { return name; }
			set { name = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string LOGIN_NAME
		{
			get { return login_name; }
			set { login_name = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string PASSWORD
		{
			get { return password; }
			set { password = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string FullPassword
		{
			get { return fullPassword; }
			set { fullPassword = value; }
		}

		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string EMAIL
		{
			get { return email; }
			set { email = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is tinyint</value>
		public byte USER_TYPE
		{
			get { return user_type; }
			set { user_type = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string CUSTOMER_CODE
		{
			get { return customer_code; }
			set { customer_code = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string BAR_CODE
		{
			get { return bar_code; }
			set { bar_code = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool IS_ADMIN
		{
			get { return is_admin; }
			set { is_admin = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool IS_ENABLED
		{
			get { return is_enabled; }
			set { is_enabled = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime CREATED_DATE
		{
			get { return created_date; }
			set { created_date = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int CREATED_BY
		{
			get { return created_by; }
			set { created_by = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime UPDATED_DATE
		{
			get { return updated_date; }
			set { updated_date = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int UPDATED_BY
		{
			get { return updated_by; }
			set { updated_by = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is uniqueidentifier</value>
		public Guid CHANGE_PWD_GUID
		{
			get { return change_pwd_guid; }
			set { change_pwd_guid = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string SORT_REFERENCE1
		{
			get { return sort_reference1; }
			set { sort_reference1 = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string SORT_REFERENCE2
		{
			get { return sort_reference2; }
			set { sort_reference2 = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool DOWNLOADABLE_CSV
		{
			get { return downloadable_csv; }
			set { downloadable_csv = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int ActiveOfficeID
		{
			get { return activeOfficeID; }
			set { activeOfficeID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int CountryID
		{
			get { return countryID; }
			set { countryID = value; }
		}
	
		public bool ViewSalesOrders
		{
			get { return viewSalesOrders; }
			set { viewSalesOrders = value; }
		}
		
		#endregion
	}//End Class
	
	public enum USERColumns
	{
		US_ID_PK,
		NAME,
		LOGIN_NAME,
		PASSWORD,
		EMAIL,
		USER_TYPE,
		CUSTOMER_CODE,
		BAR_CODE,
		IS_ADMIN,
		IS_ENABLED,
		CREATED_DATE,
		CREATED_BY,
		UPDATED_DATE,
		UPDATED_BY,
		CHANGE_PWD_GUID,
		SORT_REFERENCE1,
		SORT_REFERENCE2,
		DOWNLOADABLE_CSV,
		ActiveOfficeID,
		CountryID,
		FullPassword,
		ViewSalesOrders
	}//End enum
}